/**
 *@file common.js
 *@version 1.0.0
 *@author hehui
 *@createTime 2024/06/21 - 20:37
 *@updateTime 2024/06/21 - 20:37
 *@see [jsDoc中文文档]{@link  http://www.dba.cn/book/jsdoc/JSDOCKuaiBiaoQianBLOCKTAGS/CONSTRUCTS.html}
 *@description    common.js ,公用方法
 *                      详细说明看注释  !important
 */
// 服务器配置
import serverUrl from './server-config.js';

const common = {
    // 根据字典类型获取字典码值
    selectCodeByPcode(pcode) {
        let _url = window.fdConfig.url.tcode.selectCodeByPcode;
        if(pcode != null && pcode != ''){
            _url = _url + '?pcode='+pcode;
        }
        return new Promise((resolve, reject) => {
            axios.get(_url).then(res => {
                resolve(res);
            }).catch(error =>{
                reject(error);
            })
        });
    },
    // 加载所有codes
    loadCodes(){
        fdCommon.selectCodeByPcode('').then((res)=>{
            const codes = [];
            if(res.data.success&&res.data.data &&res.data.data.length>0){
                res.data.data.forEach(function (item){
                    codes.push({
                        pid:item.cpcode,
                        code:item.ccode,
                        name: item.cname
                    })
                })
                window.localStorage.setItem('codes',JSON.stringify(codes));
            }
        })
    },
    getCodesByPid(pid){
        const codes = JSON.parse(window.localStorage.getItem('codes'));
        return codes.filter((item) =>item.pid === pid);
    },
    // 公用下载方法，针对post请求
    down(fileName,data){
        // 创建一个临时的 URL 对象，用于创建下载链接
        const url = window.URL.createObjectURL(new Blob([data]));

        // 创建一个 a 标签用于触发下载
        const link = document.createElement('a');
        link.href = url;
        link.setAttribute('download', fileName);

        document.body.appendChild(link);
        link.click();

        // 清理临时创建的元素和对象
        document.body.removeChild(link);
        window.URL.revokeObjectURL(url);
    }
};
//  注册全局变量，fdConfig
window.fdCommon = common;
